using System;
using System.Collections.Generic;
using MEA.AE_Data.Config;

namespace MEA.AE_BusinessLogic
{
	public interface IFlashService
	{
		event BaseService.AddConsoleHandler ev_AddConsoleEvent;

		event BaseService.LogFehlerHandler ev_LogFehler;

		event EventHandler<ServiceLayerBoolEventArg> ev_ProgressClose;

		event EventHandler<ServiceLayerStringEventArg> ev_ProgressStep;

		List<byte> DataReadByLID();

		void DataWriteByLID(List<byte> recValues);

		List<byte> RequestDownload(uint i_startAdr, uint memSize);

		List<byte> RequestResult(ConfigKWP.e_kwpServices sid);

		List<byte> StartChecksumCalculation(uint i_startAdr, uint i_EndAdr, uint i_checkSum);

		List<byte> StartFlashErase(uint i_startAdr, uint i_EndAdr);

		void StopCHKRoutine();

		void ECUResetFlash();

		List<byte> TimingParameterAccess(ConfigFlash.e_timingParameter e_para);

		void TransferData(byte blockSize, List<byte> data);

		void TransferExit();
	}
}
